New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

streamtest

Package Overview
Dependencies
Maintainers
2
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

streamtest

Streams test library

  • 1.2.4
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

streamtest

Streams test library

NPM version Build status Dependency Status devDependency Status Coverage Status Code Climate Dependency Status

streamtest is a set of utils to test your stream based modules accross various stream implementations of NodeJS.

In fact, this repository's tests is a perfect example of its own usage ;).

Installation

First install streamtest in your project:

npm install --save-dev streamtest

Getting started

Then, use it:

var StreamTest = require('streamtest');

describe('My Stream Lib', function() {

  // Iterating through versions
  StreamTest.versions.forEach(function(version) {

    describe('for ' + version + ' streams', function() {

      // here goes your code
      it('should work', function(done) {

        StreamTest[version].fromChunks(['a ', 'chunk', 'and', 'another'])
          .pipe(myTestedStream)
          .pipe(StreamTest[version].toText(function(err, text) {
            if(err) {
              done(err);
            }
            assert.equal(text, 'the text as i should be');
            done();
          }));

      });

    });

  });

});

## API

### StreamTest.versions:Array List of supported versions (currently v1 and v2).

### StreamTest[version]:Object Object available for each version containing the following methods.

### StreamTest[version].fromChunks(chunks:Array, timeout:Number)

Create a readable stream streaming chunks each timeout milliseconds and then end. Usefull for testing buffer based streams.

### StreamTest[version].fromObjects(objects:Array, timeout:Number)

Create a readable stream streaming objects each timeout milliseconds and then end. Usefull for testing objectMode based streams.

### StreamTest[version].fromErroredChunks(err:Error, chunks:Array, timeout:Number)

Create a readable stream streaming chunks each timeout milliseconds, emit the err error and then end. Usefull for testing buffer based streams.

### StreamTest[version].fromErroredObjects(err:Error, objects:Array, timeout:Number)

Create a readable stream streaming objects each timeout milliseconds, emit the err error and then end. Usefull for testing objectMode based streams.

### StreamTest[version].toChunks(cb:Function)

Create a writable stream collecting written chunks and calling the cb function when it finishes.

The cb function take in an error and an Array of chunks.

### StreamTest[version].toObjects(cb:Function)

Create a writable stream collecting written chunks and calling the cb function when it finishes.

The cb function take in an error and an Array of objects.

### StreamTest[version].toText(cb:Function)

Create a writable stream collecting written chunks and calling the cb function when it finishes with the whole content converted to text.

The cb function take in an error and a string.

Contribute

Feel free to submit us your improvements. To do so, you must accept to publish your code under the MIT license.

To start contributing, first run the following to setup the development environment:

git clone git@github.com:nfroidure/streamtest.git
cd streamtest
npm install

Then, run the tests:

npm test

Stats

NPM NPM

License

MIT

Keywords

FAQs

Package last updated on 09 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc